package cate.game.table;

import cate.game.doc.ItemConfigDocMaker;
import cate.game.doc.ItemConfigDocMaker.ItemConfigDoc;
import cate.game.doc.ItemConfigDocMaker.ItemTypeConfigDoc;
import lombok.extern.slf4j.Slf4j;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Slf4j
public class ItemConfigHelper {

    public static final ItemConfigHelper instance = new ItemConfigHelper();

    /**
     * 物品文档
     */
    public Map<Integer, ItemConfigDoc> itemDocMap = new HashMap<>();

    /**
     * 初始化
     *
     * @param excelPath Excel路径
     */
    public void init(String excelPath) {
        try {
            itemDocMap.clear();
            List<ItemTypeConfigDoc> all = ItemConfigDocMaker.loadAll(excelPath);
            all.forEach(doc -> {
                doc.items.forEach(itemDoc -> itemDocMap.put(itemDoc.id, itemDoc));
            });
        } catch (Exception e) {
            log.error("", e);
        }
    }

    /**
     * 查找物品文档
     *
     * @param tid 物品ID
     * @return 文档信息
     */
    public ItemConfigDoc findItemConfigDoc(int tid) {
        return itemDocMap.get(tid);
    }
}
